package net.siufung.core.model.enums;

import com.google.common.collect.Lists;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import net.siufung.core.model.EnumsVo;
import net.siufung.core.utils.StringPool;

import java.util.List;

/**
 * @author 陈建峰
 * @since 2021/11/29 5:43 下午
 */
@ToString
public enum DelFlagEnum {
    /**
     * 启用
     */
    NOT("0", "启用"),
    /**
     * 禁用
     */
    IS("1", "禁用");

    @Getter
    @Setter
    private String value;
    @Getter
    @Setter
    private String desc;

    DelFlagEnum(String value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    public static DelFlagEnum get(String value) {
        DelFlagEnum[] delFlagEnums = values();
        for (DelFlagEnum delFlagEnum : delFlagEnums) {
            if (delFlagEnum.getValue().equals(value)) {
                return delFlagEnum;
            }
        }
        return null;
    }

    public static String getDesc(String value) {
        DelFlagEnum[] delFlagEnums = values();
        for (DelFlagEnum delFlagEnum : delFlagEnums) {
            if (delFlagEnum.getValue().equals(value)) {
                return delFlagEnum.getDesc();
            }
        }
        return StringPool.EMPTY;
    }

    public static List<EnumsVo> getList(){
        List<EnumsVo> delFlagEnumList = Lists.newLinkedList();
        EnumsVo enumsVo;
        for (DelFlagEnum delFlagEnum: values()) {
            enumsVo = new EnumsVo();
            enumsVo.setValue(delFlagEnum.getValue());
            enumsVo.setDesc(delFlagEnum.getDesc());
            delFlagEnumList.add(enumsVo);
        }
        return delFlagEnumList;
    }
}
